In many cases, the success of a search algorithm is tied to the data structure that is being searched, and more specifically the organization of this data structure. Certain ways of organizing a data structure, and the data contained therein, may result in large savings in terms of time needed to search and produce search results. Further, certain data structures may result in more accurate search results being produced for a given query.